![]() COMPUTER IMPLEMENTED METHOD, LEGIBLE STORAGE MEDIA AND SYSTEM
专利摘要:
the present invention relates to implementations of this specification which include the identification of a plurality of transactions to be executed on the blockchain, in which the transactions are ordered in an order of execution and in which the order of execution includes a call of the contract ordered after the plurality of transactions; the identification of transaction groups within the plurality of transactions, in which each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group; the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel, where the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution; the determination that the blockchain network nodes have completed the execution of all transaction groups; and, in response, instructing the nodes of the blockchain network to execute the contract call. 公开号:BR112019016064A2 申请号:R112019016064-7 申请日:2018-12-28 公开日:2020-03-31 发明作者:Xia Ning;Xie Guili;Deng Fuxi 申请人:Alibaba Group Holding Limited; IPC主号:
专利说明:
“COMPUTER IMPLEMENTED METHOD, LEGIBLE STORAGE MEDIA AND SYSTEM” Background of the Invention [001] Distributed accounting systems (DLSs), which can also be called consensus networks and / or blockchain networks, enable participating entities to store data with security and immutability. DLSs are usually referred to as blockchain networks without referencing any specific user cases. Examples of types of blockchain networks can include public blockchain networks, private blockchain networks and consortium blockchain networks. A blockchain consortium network is provided to a select group of entities, which controls the consensus process and includes an access control layer [002] A problem found in blockchain networks is the speed at which transactions are processed. In general, the nodes in the blockchain network process the serial transactions in the order in which they are sent. This can lead to a low transaction throughput and delays between the time a transaction is submitted and when it is released. [003] Techniques for solving these transaction performance problems on a blockchain network would be advantageous. Brief Description of the Invention [004] The implementations of this specification include the methods implemented by computer for the parallel execution of transactions on a blockchain network. More especially, the implementations of this specification are directed to groups for the execution of transactions that have a shared dependency in parallel with other groups. [005] In some implementations, the actions include identifying a plurality of transactions to be executed on the blockchain, in which the transactions are ordered in an order of execution Petition 870190074425, of 8/2/2019, p. 43/83 2/27 and where the execution order includes a call for the contract ordered after the plurality of transactions; the identification of transaction groups within the plurality of transactions, in which each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group; the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel, where the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution; the determination that the blockchain network nodes have completed the execution of all transaction groups; and in response to the determination that the blockchain network nodes have completed the execution of all transaction groups, instructing the blockchain network nodes to execute the contract call. Other implementations include the corresponding computer systems, devices and programs, configured to carry out the actions of the methods, encoded in computer storage devices. [006] These and other implementations may optionally include one or more of the following characteristics: [007] In some cases, the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the instruction of a first set of nodes for the execution of a first group of transactions and the instruction of a first set of nodes for the execution of a second group of transactions. [008] In some implementations, the determination that the nodes of the blockchain network have completed the execution of all transaction groups includes the determination that all transactions in the plurality of transactions have been included in one or more blocks stored on a blockchain maintained by the blockchain network . [009] In some implementations, the method includes determining Petition 870190074425, of 8/2/2019, p. 44/83 3/27 that the nodes of the blockchain network have completed the execution of the contract call; the identification of a second plurality of transactions to be executed on the blockchain, in which the second plurality of transactions is ordered after the contract call in the execution order; the identification of second groups of transactions within the second plurality of transactions; and the instruction of the nodes of the blockchain network for the execution of each of the second groups of transactions in parallel, in which the execution of each second group of transactions includes the execution of the transactions within the second group in series and according to the order of execution. [010] In some cases, the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the sending of a message to the nodes through a network. [011] In some cases, identifying the plurality of transactions to be executed on the blockchain includes receiving transactions transmitted to the blockchain network. [012] In some implementations, the contract call is a request for the execution of a smart contract stored on a blockchain maintained by the blockchain network. [013] This specification also provides one or more non-transitory, computer-readable storage media attached to one or more processors and which has instructions stored on them that, when executed by one or more processors, cause one or more processors to perform operations according to the implementations of the methods provided herein. [014] This specification still provides a system for implementing the methods provided here. The system includes one or more processors, and a computer-readable storage medium coupled to one or more processors that have the instructions stored Petition 870190074425, of 8/2/2019, p. 45/83 4/27 in it that, when executed by one or more processors, cause one or more processors to perform operations according to the implementations of the methods provided in the present. [015] It is considered that the methods, according to this specification, may include any combination of the aspects and characteristics described herein. That is, the methods, according to this specification, are not limited to the combinations of aspects and characteristics specifically described herein, but also include any combination of the aspects and characteristics provided. [016] Details of one or more implementations of this specification are presented in the attached drawings and in the description below. Other features and advantages of this specification will be evident from the description and drawings, and from the claims. Brief Description of the Figures [017] Figure 1 illustrates an example of an environment that can be used to perform the implementations of this specification. [018] Figure 2 illustrates an example of a conceptual architecture, according to the implementations of this specification. [019] Figure 3A illustrates an example of an execution order for transactions on a blockchain network, according to the implementations of this specification. [020] Figure 3B illustrates an example of a parallel execution order for transactions on a blockchain network, according to the implementations of this specification. [021] Figure 4 illustrates an example of a process that can be performed, according to the implementations of this specification. [022] Figure 5 illustrates the examples of modules of a device, according to the implementations of this specification. Petition 870190074425, of 8/2/2019, p. 46/83 5/27 [023] Similar reference symbols in the various drawings indicate similar elements. Detailed Description of the Invention [024] The implementations of this specification include the methods implemented by computer for the parallel execution of transactions on a blockchain network. More especially, the implementations of this specification are directed to groups for the execution of transactions that have a shared dependency in parallel with other groups. In some implementations, actions include identifying a plurality of transactions to be executed on the blockchain, where transactions are ordered in an order of execution, and where the order of execution includes a contract call ordered after the plurality of transactions ; the identification of transaction groups within the plurality of transactions, in which each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group; the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel, where the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution; the determination that the blockchain network nodes have completed the execution of all transaction groups; and in response to the determination that the blockchain network nodes have completed the execution of all transaction groups, instructing the blockchain network nodes to execute the contract call. [025] To provide additional context for implementations of this specification and, as introduced above, distributed accounting systems (DLSs), which can also be referred to as consensus networks (for example, composed of peer-to-peer nodes ), and blockchain networks, enable participating entities to execute transactions Petition 870190074425, of 8/2/2019, p. 47/83 6/27 safely and immutably and store the data. The term “blockchain’ ’, is used in the present, in general, to refer to a DLS without reference to any special use case. [026] A blockchain is a data structure that stores transactions so that transactions are immutable and can be verified later. A blockchain includes one or more blocks. Each block in the chain is linked to a previous block immediately before it in the chain, including a cryptographic hash of the previous block. Each block also includes a timestamp (timestamp), its own cryptographic hash and one or more transactions. The transactions, which were previously verified by the nodes of the blockchain network, are hashed and encoded in a Merkle tree. A Merkle tree is a data structure in which the data in the tree's leaf nodes is hashed and all the hashes in each branch of the tree are concatenated at the root of the branch. This process continues up the tree to the root of the entire tree, which stores a hash that is representative of all the data in the tree. A hash of a transaction supposedly stored in the tree can be checked quickly by determining whether it is consistent with the structure of the tree. [027] Whereas a blockchain is a data structure for storing transactions, a blockchain network is a network of computing nodes that manages, updates and maintains one or more blockchains. As introduced above, a blockchain network can be provided as a public blockchain network, a private blockchain network or a consortium blockchain network. In a public blockchain network, the consensus process is controlled by nodes in the consensus network. For example, hundreds, thousands and even millions of entities can cooperate with a public blockchain network, each operating at least one node on the public blockchain network. Therefore, the public blockchain network can be Petition 870190074425, of 8/2/2019, p. 48/83 7/27 considered a public network in relation to the participating entities. In some examples, most entities (nodes) must sign each block for the block to be valid and added to the blockchain (distributed accounting) of the blockchain network. Examples of public blockchain networks include specific peer-to-peer payment networks that leverage distributed accounting, known as blockchain. As noted above, the term “blockchain”, however, is used to, in general, refer to accounts distributed without special reference to the blockchain network. [028] In general, a consortium blockchain network is private between participating entities. In a blockchain consortium network, the consensus process is controlled by an authorized set of nodes, one or more nodes being operated by a respective entity (for example, a financial institution, insurance company). For example, a consortium of ten (10) entities (for example, financial institutions, insurance companies) can operate a consortium blockchain network, each operating at least one node in the consortium blockchain network. Consequently, the consortium blockchain network can be considered a private network in relation to the participating entities. In some examples, each entity (node) must sign all blocks for the block to be valid and added to the blockchain. In some examples, at least a subset of entities (nodes) (for example, at least 7 entities) must sign each block for the block to be valid and added to the blockchain. [029] Implementations of this specification can be performed on any suitable type of blockchain network. [030] The implementations of this specification are described in more detail at present in view of the above context. More especially, and as introduced above, implementations of this specification are directed to groups for the execution of transactions that have a Petition 870190074425, of 8/2/2019, p. 49/83 8/27 dependency shared in parallel with other groups. Since transactions in different groups do not depend on each other (for example, they do not affect the same accounts on the blockchain network), the order in which transactions in different groups are performed in relation to one another does not affect the general state of the network blockchain. Therefore, these transactions can be executed in parallel, which can lead to an increase in the transaction throughput on a blockchain network. [031] Figure 1 illustrates an example of an environment (100) that can be used to perform the implementations of this specification. In some examples, the environment (100) allows entities to participate in a public blockchain network (102). The environment (100) includes computing devices (106), (108) and a network (110). In some instances, the network (110) includes a local area network (LAN), wide area network (WAN), the Internet, or one of its combinations, and connects websites, user devices (for example, computing) and back-end systems. In some examples, the network (110) can be accessed via a wired and / or wireless communication link. In some examples, the network (110) enables communication with, and within the public blockchain network (102). In general, the network (110) represents one or more communication networks. In some cases, the computing devices (106), (108) can be the nodes of a cloud computing system (not shown) or each computing device (106), (108) can be a cloud computing system separate including a plurality of computers interconnected by a network and functioning as a distributed processing system. [032] In the example described, each computing system (106), (108) can include any suitable computing system that enables participation as a node in the public blockchain network (102). Examples of computing devices include, without limitation, a server, a computer Petition 870190074425, of 8/2/2019, p. 50/83 9/27 desktop, a laptop computer, a tablet computing device and a smartphone. In some examples, computer systems (106), (108) host one or more services implemented by computer to interact with the public blockchain network (102). For example, the computing system (106) can host the computer-implemented services of a first entity (for example, Participant A), such as the transaction management system that the first entity uses to manage its transactions with one or more more entities (for example, other participants). The computing system (108) can host the computer-implemented services of a second entity (for example, Participant B), such as the transaction management system that the second entity uses to manage its transactions with one or more entities ( for example, other participants). In the example in Figure 1, the public blockchain network (102) is represented as a network of peer-to-peer nodes, and the computing systems (106), (108) provide the nodes of the first entity and second entity, respectively , participating in the consortium blockchain network (102). [033] Figure 2 illustrates an example of a conceptual architecture (200) according to the implementations of the present specification. The example of a conceptual architecture (200) includes the participating systems (202), (204), (206) that correspond to Participant A, Participant B and Participant C, respectively. Each participant (for example, the user, company) participates in a blockchain network (212) provided as a peer-to-peer network including a plurality of nodes (214), at least some of which record the immutable information on a blockchain (216). Although a single blockchain (216) is represented schematically within the blockchain network (212), multiple copies of the blockchain (216) are provided and maintained across the blockchain network (212), as described in the present in more detail. Petition 870190074425, of 8/2/2019, p. 51/83 10/27 [034] In the example described, each participating system (202), (204), (206) is provided by, or on behalf of Participant A, Participant B and Participant C, respectively, and functions as a respective node ( 214) within the blockchain network. As used at present, a node, in general, refers to an individual system (for example, the computer, server) that is connected to the blockchain network (212) and allows a respective participant to participate in the blockchain network. In the example in Figure 2, one participant corresponds to each node (214). It is contemplated, however, that a participant can operate multiple nodes (214) within the blockchain network (212), and / or multiple participants can share a node (214). In some examples, participating systems (202), (204), (206) communicate with, or via the blockchain network (212) using a protocol (for example, the secure hypertext transfer protocol (HTTPS)) and / or using remote procedure calls (RPCs). [035] Nodes (214) may have varying degrees of participation within the blockchain network (212). For example, some nodes (214) may participate in the consensus process (for example, as mining nodes that add blocks to the blockchain (216)), while other nodes (214) do not participate in the consensus process. As another example, some nodes (214) store a complete copy of the blockchain (216), while other nodes (214) only store copies of parts of the blockchain (216). For example, data access privileges can limit the blockchain data that a respective participant stores within its respective system. In the example in Figure 2, the participating systems (202), (204), (206) store their respective complete copies (216 ’), (216”), (216 ”’) of the blockchain (216). [036] A blockchain (for example, blockchain (216) in Figure 2) is made up of a chain of blocks, each block storing data. The Petition 870190074425, of 8/2/2019, p. 52/83 11/27 data examples include transaction data representative of a transaction between two or more participants. Although transactions are used in the present by means of non-limiting examples, it is contemplated that any suitable data can be stored in a chain of blocks (for example, documents, images, videos, audio). Examples of transactions may include, without limitation, exchanges of something of value (for example, assets, products, services). The transaction data is stored immutably within the blockchain. That is, the transaction data cannot be changed. [037] Before storing in a block, the transaction data is encrypted. Hashing is a process of transforming the transaction data (provided as string data) into a fixed-length hash value (also provided as string data). It is not possible to un-hash the hash value to get the transaction data. Hashing ensures that even a small change in the transaction data results in a completely different hash value. In addition, and as noted above, the hash value is fixed in length. That is, no matter the size of the transaction data, the size of the hash value is fixed. Hashing includes processing the transaction data using a hash function to generate the hash value. An example of a hash function includes, without limitation, the hash secure (SHA) -256 algorithm, which generates the 256-bit hash values. [038] Transaction data from multiple transactions is hashed and stored in a block. For example, the hash values for two transactions are provided and are themselves hashed to provide another hash. This process is repeated until, so that all transactions are stored in one block, a single hash value is provided. This hash value is referred to as a Merkle root hash and is stored in a block header. A change in any of the transactions will result in changes Petition 870190074425, of 8/2/2019, p. 53/83 12/27 in the hash value and, finally, in a change in the hash of the Merkle root. [039] Blocks are added to the blockchain through a consensus protocol. Multiple nodes within the blockchain network participate in the consensus protocol and compete to own a block added to the blockchain. These nodes are referred to as miners (or decision nodes). The POW, introduced above, is used as a non-limiting example. [040] Mining nodes perform the consensus process to add transactions to the blockchain. Although multiple mining nodes participate in the consensus process, only one mining node can write the block to the blockchain. That is, mining nodules compete in the consensus process to have their block added to the blockchain. In more detail, a mining node periodically collects pending transactions from a transaction pool (for example, up to a predefined limit on the number of transactions that can be included in a block, if any). The transaction pool includes transaction messages from blockchain network participants. The mining node builds a block and adds transactions to the block. Before adding transactions to the block, the mining node checks whether any of the transactions are already included in a block on the blockchain. If a transaction is already included in another block, the transaction will be discarded. [041] The mining node generates a block header, hashes all transactions in the block and combines the hash value in pairs to generate more hash values until a single hash value is provided for all transactions in the block (the Merkle root hash). This hash is added to the block header. The miner also determines the hash value of the most recent block on the blockchain (i.e., the last block added to the blockchain). The mining node also includes an arbitrary value (nonce) and a timestamp (timestamp) for the block header. In a process of Petition 870190074425, of 8/2/2019, p. 54/83 13/27 mining, the mining node tries to find a hash value that meets the required parameters. The mining node continues to change the arbitrary value (nonce) until it finds a hash value that meets the required parameters. [042] Each miner in the blockchain network tries to find a hash value that meets the necessary parameters and, in this way, compete with each other. Optionally, one of the mining nodes finds a hash value that meets the required parameters and announces this to all other mining nodes in the blockchain network. The other mining nodes check the hash value and, if determined to be correct, check each transaction on the block, accept the block and attach the block to your copy of the blockchain. In this way, a global blockchain state is consistent across all mining nodes within the blockchain network. The process described above is the POW consensus protocol. [043] A non-limiting example is provided with reference to Figure 2. In this example, Participant A wants to send an amount to Participant B. Participant A generates a transaction message (for example, including the From, To and Amount fields. ) and sends the transaction message to the blockchain network, which adds the transaction message to a transaction pool. Each mining node in the blockchain network creates a block and takes all transactions from the transaction pool (for example, up to a predefined limit on the number of transactions that can be added to a block, if any) and adds the transactions to the block. In this way, the transaction published by Participant A is added to the blocks of the mining nodes. [044] In some blockchain networks, encryption is implemented to maintain transaction privacy. For example, if two nodes want to keep a transaction private, so that other nodes in the blockchain network cannot discern the details of the transaction, the nodes can Petition 870190074425, of 8/2/2019, p. 55/83 14/27 encrypt the transaction data. Examples of cryptographic methods include, without limitation, symmetric cryptography and asymmetric cryptography. Symmetric encryption refers to an encryption process that uses a single key for encryption (generation of ciphertext from original text) and decryption (generation of original text from ciphertext). In symmetric encryption, the same key is available for multiple nodes, therefore, each node can encrypt the transaction data. [045] Asymmetric cryptography uses key pairs that each include a private key and a public key, the private key being known only by a respective node and the public key being known by any or all of the other nodes in the network blockchain. A node can use the public key of another node to encrypt the data and the encrypted data can be decrypted using the private key of another node. For example, and again with reference to Figure 2, Participant A can use Participant B's public key to encrypt the data and send the encrypted data to Participant B. Participant B can use his private key to decrypt the encrypted data ( encrypted text) and extract the original data (original text). Messages encrypted with a node's public key can only be decrypted using the node's private key. [046] Asymmetric cryptography is used to provide digital signatures, which allows participants in a transaction to confirm other participants in the transaction, as well as the validity of the transaction. For example, one node can digitally sign a message and another node can confirm that the message was sent by the node based on Participant A's digital signature. Digital signatures can also be used to ensure that messages are not tampered with in transit. For example, and again with reference to Figure 2, Participant A needs to Petition 870190074425, of 8/2/2019, p. 56/83 15/27 send a message to Participant B. Participant A hashes the message and then, using its private key, encrypts the hash to provide a digital signature as the encrypted hash. Participant A adds the digital signature to the message and sends the message with digital signature to Participant B. Participant B decrypts the digital signature using Participant A's public key and extracts the hash. Participant B hashes the message and compares the hashes. If the hashes are the same, Participant B can confirm that the message was actually from Participant A and has not been tampered with. [047] To provide additional context for implementations of this specification, Figure 3A illustrates an example of an order of execution (300) for transactions on a blockchain network, according to the implementations of this specification. As shown, the execution order (300) includes a plurality of transactions ((305), (310), (315), (320)) sequenced according to the order in which they are to be executed by the nodes of a blockchain network . Transactions (305a), (305b) and (305c) are called for smart contracts. In addition to so-called smart contracts, the execution order (300) includes multiple groups of transactions sharing a common dependency (denoted by cross hatching), such as, for example, affecting the same account. Transactions (310a), (310b) represent a first group, transactions (315a-e) represent a second group and (320a-320c) represent a third group. As described below, each group of transactions can be executed in parallel by the nodes of the blockchain network, according to the implementations of this specification. [048] Figure 3B illustrates an example of a parallel execution order (350) for transactions on a blockchain network, according to the implementations of this specification. As shown, in the parallel execution order (350), the transaction groups (355), (360), (365), (370) and Petition 870190074425, of 8/2/2019, p. 57/83 16/27 (375) were identified. Nodes of a blockchain network can execute groups of transactions in parallel, as shown in Figure 3B and discussed. In some cases, all transactions in a group share a common dependency and, therefore, are executed in series, according to the original order of execution. This ensures that the state of the blockchain network (for example, account balances) will be the same result of executing transactions according to the parallel execution order (350), as it would be after executing the transactions according to the order (300) in Figure. 3A. [049] Consider the example where account A has a balance of $ 0 before executing any of the transactions in Figure 3B, where transaction (310a) represents a payment to account A from account B, in the amount of $ (300), and transaction (310b) represents a payment from account A to account C of $ 50. If transactions (310a) and (310b) are executed in series (as originally described in the execution order (300 )), account A will first be financed with $ (300) and then debited to $ 50, leaving a balance of $ 250 remaining. However, if transactions (310a) and (310b) are not executed in series and the transaction (310b) is executed before (310a), account A will have a balance of $ 0 when the payment of the transaction (310b) is executed. Account A will have an insufficient balance to finance the payment in this scenario, which could lead to the transaction (310b) being rejected by the blockchain network. [050] Based on this example, consider a case where the transaction (320a) represents a payment from a D account to a $ 100 E account. Since the accounts affected by the transaction (320a) (accounts D and E) do not include any of the accounts affected by transactions (310a) and (310b) (accounts A, B and C), the transaction (320a) has no common dependency on transactions (310a) and (310b). Therefore, transaction (320a) can Petition 870190074425, of 8/2/2019, p. 58/83 17/27 to be executed in parallel with transactions (310a) and (310b). [051] In some implementations, transactions to be executed in series can be grouped. For example, as shown in Figure 3B, transactions (310a) to (310b) are grouped into (355), transactions (315a), (315b) and (315c) are grouped into (360), and the transaction (320a ) is grouped into (365). Each of the groups (355), (360) and (365) can be executed in parallel by the nodes of the blockchain network. The execution of transaction groups (355), (360) and (365) in parallel can lead to an increase in the throughput of the blockchain network, since the network is executing three simultaneous transactions instead of just one, if all the transactions are executed in series. [052] Figure 3B also includes the so-called contract (305a) to (305c). Contract calls represent a point of synchronization, where parallel execution converges. Since contract calls lead to the execution of the instructions that make up the smart contract, it may not be possible to determine the scope of accounts that a specific contract call will affect. For example, consider a simple smart contract that accepts a specific account and a payment amount as parameters and applies the payment amount to the specific account if any conditions are true. Since a caller of this smart contract specifies the specific account when the smart contract is called, it is not possible to determine, from the definition of the smart contract itself (ie its source code), which accounts a specific call to the smart contract will to affect. For this reason, in some implementations, the contract call can be seen as a transaction with the potential to affect all accounts on the blockchain network which, therefore, cannot be executed in parallel with other transactions. Therefore, the parallel execution order (350) converges when a contract call is reached. For example, as Petition 870190074425, of 8/2/2019, p. 59/83 18/27 shown, groups (355), (360) and (365) execute in parallel until reaching the contract call (305b). At this time, the blockchain network waits until all transactions in groups (355), (360) and (365) have completed execution and then proceeds with the execution of the smart contract ticket (305b). [053] After the contract call (305b) is complete, the transaction groups (for example, (370) and (375)) can again be run in parallel over the blockchain network until another call for the smart contract (for example, (305c)) is found, at which point the parallel execution again converges before the execution of the smart contract call. [054] Figure 4 illustrates an example of a process (400) that can be performed, according to the implementations of this specification. In some implementations, the process (400) can be performed using one or more computer executable programs executed using one or more computing devices. [055] In (402), a plurality of transactions to be executed on the blockchain are identified. The transactions are ordered in an order of execution and the order of execution includes a contract call ordered after the plurality of transactions. In some cases, identifying the plurality of transactions to be executed on the blockchain includes receiving transactions transmitted to the blockchain network. In some implementations, the contract call is a request to execute a smart contract stored on a blockchain maintained by the blockchain network. [056] In (404), groups of transactions are identified within the plurality of transactions, where each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group. Petition 870190074425, of 8/2/2019, p. 60/83 19/27 [057] In (406), the nodes of the blockchain network are instructed to execute each of the groups of transactions in parallel, in which the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution. In some cases, the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the instruction of a first set of nodes for the execution of a first group of transactions and the instruction of a first set of nodes for the execution of a second group of transactions. In some implementations, the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the sending of a message to the nodes through a network. [058] In (408), a determination is made that the nodes of the blockchain network have completed the execution of all transaction groups. In some implementations, the determination that the nodes of the blockchain network have completed the execution of all transaction groups includes the determination that all transactions in the plurality of transactions have been included in one or more blocks stored on a blockchain maintained by the blockchain network. [059] In (410), in response to the determination that the nodes of the blockchain network have completed the execution of all groups of transactions, the nodes of the blockchain network are instructed to execute the contract call. [060] In some implementations, the process (400) includes the determination that the nodes of the blockchain network have completed the execution of the contract call; the identification of a second plurality of transactions to be executed on the blockchain, in which the second plurality of transactions is ordered after the contract call in the execution order; - the identification of second groups of transactions within the second plurality of transactions; and the instruction of the blockchain network nodes Petition 870190074425, of 8/2/2019, p. 61/83 20/27 for the execution of each of the second groups of transactions in parallel, in which the execution of each second group of transactions includes the execution of the transactions within the second group in series and according to the order of execution. [061] Figure 5 illustrates the examples of modules of an appliance (500) according to the implementations of this specification. The device (500) can be an example of implementing a device configured to enable parallel execution of transactions on a blockchain network, such as a consortium blockchain network. The apparatus (500) may correspond to the implementations described above, and the apparatus (500) includes the following: a first identifier or first identifying unit (502) for the identification of a plurality of transactions to be executed on the blockchain, in which the transactions they are ordered in an order of execution, and where the order of execution includes a contract call ordered after the plurality of transactions; a second identifier or second identifying unit (504) for the identification of transaction groups within the plurality of transactions, where each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group; a first instructor or first instructor unit (506) for the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel, in which the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution; a determiner or determination unit (508) for determining that the nodes in the blockchain network have completed the execution of all transaction groups; and a second instructor or second instruction unit (510) for the instruction of the nodes of the blockchain network for the execution of the contract call in response to the determination that the nodes of the blockchain network have completed the execution of all groups of transactions. Petition 870190074425, of 8/2/2019, p. 62/83 21/27 [062] The system, device, module or unit illustrated in the previous implementations can be implemented using a computer chip or an entity, or can be implemented using a product that has a specific function. A typical implementation device is a computer, and the computer can be a personal computer, a portable computer, a mobile phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, a email that receives and sends the device, a game console, a tablet computer, a wearable device, or a combination of any of these devices. [063] For a process of implementing functions and functions of each unit in the device, references to a process of implementing corresponding steps in the previous method can be performed. Details are omitted at present for simplicity. [064] Since an appliance implementation basically corresponds to a method implementation, for related parties, references can be made to the related descriptions in the method implementation. The appliance implementation described above is merely an example. Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position or may be distributed across a series of network units. Some or all of the modules can be selected based on the actual demands to achieve the objectives of the specification solutions. A person skilled in the art can understand and implement the implementations of the present application without creative efforts. [065] Again with reference to Figure 5, it can be interpreted as illustrating an internal functional module and a device structure Petition 870190074425, of 8/2/2019, p. 63/83 22/27 to enable parallel execution of transactions on a blockchain network. The parallel execution device can be an example of a device configured to enable parallel execution of transactions on a blockchain network. [066] The implementations of the subject and the actions and operations described in this specification can be implemented in digital electronic circuits, in computer software or firmware tangibly embodied, in computer hardware, including the structures described in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject described in this specification can be implemented as one or more computer programs, for example, one or more computer program instruction modules, encoded in a computer program carrier, for the execution or control of device operation. data processing. The carrier can be a tangible non-transitory computer storage medium. Alternatively, or additionally, the carrier may be an artificially generated propagated signal, for example, an electrical, optical or electromagnetic signal generated by the machine that is generated to encode the information for transmission to a receiver apparatus suitable for execution by a data processing apparatus. The computer storage medium can be or be part of a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. A computer storage medium is not a propagated signal. [067] The term data processing apparatus encompasses all types of apparatus, devices and machines for processing data, including, for example, a programmable processor, a computer or multiple processors or computers. The device for processing Petition 870190074425, of 8/2/2019, p. 64/83 23/27 data can include logic circuits for special purposes, for example, an FPGA (Field Programmable Gate Array), an ASIC (application specific integrated circuit) or a GPU (graphics processing unit). The equipment may also include, in addition to the hardware, the code that creates an execution environment for the computer programs, for example, the code that constitutes the processor firmware, a protocol stack, a database management system, an operating system or a combination of one or more of them. [068] A computer program, which can also be referred to or described as a program, software, a software application, an application, a module, a software module, an engine, a script or code, can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any way, including as an independent program or as a module, component, mechanism, subroutine or other unit suitable for execution in a computing environment, whose environment can include one or more computers interconnected by data communication, network in one or more locations. [069] A computer program can, but does not have to, correspond to a file in a file system. A computer program can be stored in a part of a file that contains other programs or data, for example, one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple files coordinated, for example, files that store one or more modules, subprograms or parts of the code. [070] The processes and logic flows described in this specification can be performed by one or more computers that run one or more Petition 870190074425, of 8/2/2019, p. 65/83 24/27 computer programs for carrying out operations operating in relation to the input data and generating the output. Logical processes and flows can also be performed by special-purpose logic circuits, for example, an FPGA, ASIC or GPU, or by a combination of special-purpose logic circuits and one or more programmed computers. [071] Computers suitable for running a computer program can be based on microprocessors for general or special use or both or any other type of central processing unit. In general, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer can include a central processing unit for executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory can be supplemented by, or incorporated into special purpose logic circuits. [072] In general, a computer will be coupled to at least one non-transient, computer-readable storage medium (also referred to as a computer-readable memory). The storage medium attached to the computer can be an internal component of the computer (for example, an integrated hard drive) or an external component (for example, the universal serial bus (USB) flash drive or a storage system accessed through a network). Examples of storage media may include, for example, magnetic, magnetootic or optical disks, solid state drives, network storage resources, such as cloud storage systems or other types of storage media. However, a computer does not need to have these devices. In addition, a computer can be incorporated into another device, for example, a cell phone, a personal digital assistant Petition 870190074425, of 8/2/2019, p. 66/83 25/27 (PDA), an audio or video player, a game console, a GPS receiver or a portable storage device, for example, a universal serial bus (USB) flash drive, to name just a few. [073] To provide interaction with a user, implementations of the subject described in this specification can be implemented in, or configured to communicate with, a computer that has a display device, for example, an LCD monitor (liquid crystal monitor) , to display information to the user and an input device by which the user can provide input to the computer, for example, a keyboard and a pointing device, for example, a mouse, a trackball or touchpad. Other types of devices can also be used to provide interaction with a user; for example, the feedback provided to the user can be any form of sensory feedback, for example, visual feedback, auditory feedback or tactile feedback; and user input can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents and receiving documents from a device used by the user; for example, by sending web pages to a web browser on a user's device in response to requests received from the web browser or interacting with an application running on a user's device, for example, a smartphone or electronic tablet. In addition, a computer can interact with a user by sending text messages or other forms of messages to a personal device, for example, a smartphone that is running a messaging application and receiving the user's responsive messages in return. [074] This specification uses the term "configured for" in connection with computer program systems, devices and components. For a system of one or more computers to be configured for the Petition 870190074425, of 8/2/2019, p. 67/83 26/27 execution of specific operations or actions means that the system has installed software, firmware, hardware or a combination of them that, in operation, cause the system to perform the operations or actions. For one or more computer programs to be configured to perform specific operations or actions, it means that one or more programs include instructions that, when executed by the data processing device, cause the device to perform the operations or actions. For logic circuits with special purpose to be configured to perform specific operations or actions, it means that the circuit has electronic logic that performs the operations or actions. [075] Although this specification contains many specific implementation details, these should not be interpreted as limitations in the scope of any invention or in the scope of what can be claimed, but as descriptions of features that may be specific to the specific implementations of certain inventions . Certain features described in the present invention in the context of separate implementations can also be implemented, in combination, in a single implementation. On the other hand, several characteristics described in the context of a single implementation can also be implemented in several implementations, separately or in any suitable subcombination. In addition, although the characteristics described above may be described as acting on certain combinations and even initially claimed as such, one or more characteristics of a claimed combination, in some cases, can be excised from the combination, and the claimed combination can be targeted to a combination, sub-combination or variation of a subcombination. [076] Similarly, although operations are represented in drawings or claims in a specific order Petition 870190074425, of 8/2/2019, p. 68/83 27/27 special, this should not be understood as requiring that such operations be performed in the special order shown or in sequential order, or that all illustrated operations be performed, to achieve the desired results. In certain circumstances, multitasking or parallel processing can be advantageous. In addition, the separation or integration of various modules and system components in the implementations described above should not be understood as requiring such separation or integration in all implementations, and it should be understood that the program components and systems described, in general, can be integrated together into a single software product or bundled into multiple software products. [077] Subject specific implementations have been described. Other implementations are within the scope of the following claims. For example, the actions cited in the claims can be performed in a different order and still achieve the desired results. As an example, the processes represented in the attached figures do not necessarily require the special order shown, or sequential order, to achieve the desired results. In some cases, multitasking or parallel processing can be advantageous.
权利要求:
Claims (20) [1] Claims 1. METHOD IMPLEMENTED BY COMPUTER for the parallel execution of transactions on a blockchain network, characterized by the method comprising: - the identification of a plurality of transactions to be executed on the blockchain, in which the transactions are ordered in an order of execution and in which the order of execution includes a call of the contract ordered after the plurality of transactions; - the identification of transaction groups within the plurality of transactions, in which each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group; - the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel, in which the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution; - the determination that the nodes of the blockchain network have completed the execution of all groups of transactions; and - in response to the determination that the nodes of the blockchain network have completed the execution of all groups of transactions, instructing the nodes of the blockchain network for the execution of the contract call. [2] 2. METHOD, according to claim 1, characterized by the fact that the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the instruction of a first set of nodes for the execution of a first group of transactions and the instruction of a first set of nodes for the execution of a second group of transactions. [3] 3. METHOD, according to claim 1, characterized by the fact that the determination that the nodes of the blockchain network completed the Petition 870190074425, of 8/2/2019, p. 70/83 2/7 execution of all transaction groups includes the determination that all transactions in the plurality of transactions have been included in one or more blocks stored in a blockchain maintained by the blockchain network. [4] 4. METHOD, according to claim 1, characterized by further comprising: - the determination that the blockchain network nodes have completed the execution of the contract call; - the identification of a second plurality of transactions to be executed on the blockchain, in which the second plurality of transactions is ordered after the call of the contract in the execution order; - the identification of second groups of transactions within the second plurality of transactions; and - the instruction of the nodes of the blockchain network for the execution of each of the second groups of transactions in parallel, in which the execution of each second group of transactions includes the execution of the transactions within the second group in series and according to the order of execution. [5] 5. METHOD, according to claim 1, characterized by the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the sending of a message to the nodes through a network. [6] 6. METHOD, according to claim 1, characterized by identifying the plurality of transactions to be executed on the blockchain includes receiving the transactions transmitted to the blockchain network. [7] 7. METHOD, according to claim 1, characterized by the contract call being a request for the execution of a smart contract stored in a blockchain maintained by the blockchain network. [8] 8. LEGIBLE STORAGE MEDIA by non-transitory computer coupled to one or more computers and which has instructions Petition 870190074425, of 8/2/2019, p. 71/83 3/7 stored in the same that are executable by one or more computers, characterized for: - the identification of a plurality of transactions to be executed on the blockchain, in which the transactions are ordered in an order of execution and in which the order of execution includes a call of the contract ordered after the plurality of transactions; - the identification of transaction groups within the plurality of transactions, in which each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group; - the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel, in which the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution; - the determination that the nodes of the blockchain network have completed the execution of all groups of transactions; and - in response to the determination that the nodes of the blockchain network have completed the execution of all groups of transactions, instructing the nodes of the blockchain network for the execution of the contract call. [9] 9. LEGIBLE STORAGE MEDIA by non-transitory computer, according to claim 8, characterized by the instructions of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel include the instruction of a first set of nodes for the execution of a first group of transactions and the instruction of a first set of nodes for the execution of a second group of transactions. [10] 10. LEGIBLE STORAGE MEDIA by non-transitory computer of claim 8, characterized by the determination that the nodes of the blockchain network have completed the execution of all groups of transactions Petition 870190074425, of 8/2/2019, p. 72/83 4/7 includes the determination that all transactions in the plurality of transactions have been included in one or more blocks stored on a blockchain maintained by the blockchain network. [11] 11. LEGIBLE STORAGE MEDIA by non-transitory computer, according to claim 8, characterized by having the instructions stored in it that are executable by one or more computers to: - the determination that the blockchain network nodes have completed the execution of the contract call; - the identification of a second plurality of transactions to be executed on the blockchain, in which the second plurality of transactions is ordered after the call of the contract in the execution order; - the identification of second groups of transactions within the second plurality of transactions; and - the instruction of the nodes of the blockchain network for the execution of each of the second groups of transactions in parallel, in which the execution of each second group of transactions includes the execution of the transactions within the second group in series and according to the order of execution. [12] 12. LEGIBLE STORAGE MEDIA by non-transitory computer, according to claim 8, characterized by the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the sending of a message to the nodes through a network . [13] 13. LEGIBLE STORAGE MEDIA by non-transitory computer, according to claim 8, characterized by the identification of the plurality of transactions to be executed on the blockchain includes the receipt of transactions transmitted to the blockchain network. [14] 14. Computer-readable storage medium does not Petition 870190074425, of 8/2/2019, p. 73/83 5/7 transitory, according to claim 8, characterized by the call of the contract being a request for the execution of a smart contract stored on a blockchain maintained by the blockchain network. [15] 15. SYSTEM, characterized by comprising: - one or more computers; and - one or more computer-readable memories attached to one or more computers and which have instructions stored on it, which are executable by one or more computers to: - the identification of a plurality of transactions to be executed on the blockchain, in which the transactions are ordered in an order of execution and in which the order of execution includes a call of the contract ordered after the plurality of transactions; - the identification of transaction groups within the plurality of transactions, in which each transaction in each group is associated with the same account on the blockchain network as the other transactions in the group; - the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel, in which the execution of each group of transactions includes the execution of the transactions within the group in series and according to the order of execution; - the determination that the nodes of the blockchain network have completed the execution of all groups of transactions; and - in response to the determination that the blockchain network nodes have completed the execution of all groups of transactions, instructing the blockchain network nodes to execute the contract call. [16] 16. SYSTEM, according to claim 15, characterized by the instructions of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel include the instruction of a first set of nodes for the execution of a first group of transactions and The Petition 870190074425, of 8/2/2019, p. 74/83 6/7 instruction of a first set of nodes for the execution of a second group of transactions. [17] 17. SYSTEM, according to claim 15, characterized by the determination that the nodes of the blockchain network have completed the execution of all groups of transactions includes the determination that all transactions in the plurality of transactions have been included in one or more blocks stored in a blockchain maintained by the blockchain network. [18] 18. SYSTEM, according to claim 15, computer-readable memories, characterized by having the instructions stored in it, which are executable by one or more computers for: - the determination that the blockchain network nodes have completed the execution of the contract call; - the identification of a second plurality of transactions to be executed on the blockchain, in which the second plurality of transactions is ordered after the call of the contract in the execution order; - the identification of second groups of transactions within the second plurality of transactions; and - the instruction of the nodes of the blockchain network for the execution of each of the second groups of transactions in parallel, in which the execution of each second group of transactions includes the execution of the transactions within the second group in series and according to the order of execution. [19] 19. SYSTEM, according to claim 15, characterized by the instruction of the nodes of the blockchain network for the execution of each of the groups of transactions in parallel includes the sending of a message to the nodes through a network. [20] 20. SYSTEM, according to claim 15, characterized by the identification of the plurality of transactions to be executed in the Petition 870190074425, of 8/2/2019, p. 75/83 7/7 blockchain includes receiving transactions transmitted to the blockchain network.
类似技术:
公开号 | 公开日 | 专利标题 BR112019016064A2|2020-03-31|COMPUTER IMPLEMENTED METHOD, LEGIBLE STORAGE MEDIA AND SYSTEM BR112019016290A2|2021-07-20|computer implemented method, computer readable non-transient storage medium and system JP6892513B2|2021-06-23|Off-chain smart contract service based on a reliable execution environment JP2020511809A|2020-04-16|Validating the integrity of data stored on the consortium blockchain using the public sidechain JP2020525877A|2020-08-27|Processing and storing blockchain data in a trusted execution environment BR112019016188A2|2020-04-14|computer-implemented method for controlling access to smart contracts, non-transitory computer-readable storage medium and system WO2019101240A2|2019-05-31|Authentication based on a recoverd public key US11088875B2|2021-08-10|Asynchronous processing of blockchain blocks JP7012730B2|2022-01-28|Parallel execution of transactions in a blockchain network based on a smart contract whitelist
同族专利:
公开号 | 公开日 CN110520882A|2019-11-29| JP2020515942A|2020-05-28| EP3571653A2|2019-11-27| KR20200083936A|2020-07-09| AU2018347203A1|2020-07-16| US11132676B2|2021-09-28| PH12019501791A1|2020-03-09| AU2018347203B2|2021-01-21| SG11201907157XA|2019-09-27| US20190287101A1|2019-09-19| WO2019072303A2|2019-04-18| WO2019072303A3|2019-11-14| CA3052348A1|2019-04-18| EP3571653A4|2020-04-08| RU2738826C1|2020-12-17| KR102234128B1|2021-04-02| MX2019009286A|2019-10-30| JP6816300B2|2021-01-20|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US7401235B2|2002-05-10|2008-07-15|Microsoft Corporation|Persistent authorization context based on external authentication| US10489807B1|2013-11-11|2019-11-26|Amazon Technologles, Inc.|Non-deterministic load-testing| EP3362970A4|2015-10-17|2019-06-26|Banqu, Inc.|Blockchain-based identity and transaction platform| US20170132630A1|2015-11-11|2017-05-11|Bank Of America Corporation|Block chain alias for person-to-person payments| EP3193299A1|2016-01-15|2017-07-19|Accenture Global Services Limited|Device, method and system for autonomous selection of a commodity supplier through a blockchain distributed database| US10255108B2|2016-01-26|2019-04-09|International Business Machines Corporation|Parallel execution of blockchain transactions| US10720232B2|2016-04-13|2020-07-21|Accenture Global Solutions Limited|Distributed healthcare records management| US10046228B2|2016-05-02|2018-08-14|Bao Tran|Smart device| AU2017290839A1|2016-07-01|2019-01-17|Wells Fargo Bank, N.A.|International trade finance blockchain system| US10425399B2|2016-07-12|2019-09-24|International Business Machines Corporation|Template-based distributed certificate issuance in a multi-tenant environment| US10417217B2|2016-08-05|2019-09-17|Chicago Mercantile Exchange Inc.|Systems and methods for blockchain rule synchronization| CN109863516A|2016-08-08|2019-06-07|邓白氏公司|It is applied for the trusted platform of network B OP component and integrated BOP| US20180158034A1|2016-12-07|2018-06-07|International Business Machines Corporation|Dynamic reordering of blockchain transactions to optimize performance and scalability| US11200966B2|2016-12-27|2021-12-14|Cerner Innovation, Inc.|Healthcare system based on devices and wearables| WO2018126059A1|2016-12-30|2018-07-05|Slock.it, Inc.|Block-chain enabled service provider system| CN108269072A|2016-12-30|2018-07-10|深圳瀚德创客金融投资有限公司|For the transaction processing method and network node of block chain| CN106980649B|2017-02-28|2020-07-10|创新先进技术有限公司|Method and device for writing block chain service data and service subset determining method| CN106878000B|2017-03-06|2020-02-21|中钞信用卡产业发展有限公司杭州区块链技术研究院|Alliance chain consensus method and system| CN106934710A|2017-03-06|2017-07-07|钱德君|A kind of quantum contract account book based on intelligent treaty content| US10489597B2|2017-03-28|2019-11-26|General Electric Company|Blockchain verification of network security service| GB201707296D0|2017-05-08|2017-06-21|Nchain Holdings Ltd|Computer-implemented system and method| SG11201912577QA|2017-06-22|2020-01-30|Jpmorgan Chase Bank Na|System and method for implementing an interbank information network| US10679210B2|2017-06-26|2020-06-09|International Business Machines Corporation|Blockchain transaction commitment ordering| US10616324B1|2017-07-20|2020-04-07|Architecture Technology Corporation|Decentralized ledger system and method for enterprises| US11196552B2|2017-08-04|2021-12-07|Truss Financial, LLC|Secure data distribution protocol using blockchains| CN107688999B|2017-08-11|2020-11-13|杭州溪塔科技有限公司|Block chain-based parallel transaction execution method| US20190087793A1|2017-08-31|2019-03-21|Brown University|Adding concurrency to smart contracts| US11132451B2|2017-08-31|2021-09-28|Parity Technologies Ltd.|Secret data access control systems and methods| RU2673399C1|2017-09-07|2018-11-26|Олег Александрович Серебренников|Method of preserving savings purchasing ability| CN107678865A|2017-09-20|2018-02-09|中国银行股份有限公司|The verification method and system of block chain based on transaction packet| CN111164629A|2017-09-27|2020-05-15|赛可润思公司|Methods, apparatus, and computer-readable media for compliance-aware tokenization and control of asset value| US11100483B2|2017-09-29|2021-08-24|Intel Corporation|Hierarchical data information| CN107704269A|2017-10-16|2018-02-16|中国银行股份有限公司|A kind of method and system based on block chain generation block| JP2019125914A|2018-01-16|2019-07-25|アラクサラネットワークス株式会社|Communication device and program| CN111787072A|2018-04-03|2020-10-16|阿里巴巴集团控股有限公司|Cross-block-chain interaction method, device, system and electronic equipment| RU181439U1|2018-04-06|2018-07-13|Оксана Валерьевна Кириченко|Decentralized technology platform for storing and exchanging transaction data in a distributed computing network| CN108681565B|2018-04-28|2020-11-10|百度在线网络技术(北京)有限公司|Block chain data parallel processing method, device, equipment and storage medium| CN108846659B|2018-06-13|2021-09-14|深圳前海微众银行股份有限公司|Block chain-based transfer method and device and storage medium| CN109064171A|2018-07-26|2018-12-21|杭州秘猿科技有限公司|A kind of method, apparatus and electronic system of block chain parallel transaction| WO2019072305A2|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network based on smart contract whitelists| CA3052348A1|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network|CA3052348A1|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network| WO2019072305A2|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network based on smart contract whitelists| CN111095325A|2019-04-12|2020-05-01|阿里巴巴集团控股有限公司|Parallel execution of transactions in a distributed ledger system| KR102289612B1|2019-04-12|2021-08-18|어드밴스드 뉴 테크놀로지스 씨오., 엘티디.|Parallel execution of transactions in a distributed ledger system| CN110611702A|2019-08-29|2019-12-24|思力科(深圳)电子科技有限公司|Block chain file rapid transmission method, equipment, system and storage medium| WO2021064852A1|2019-10-01|2021-04-08|富士通株式会社|Transaction management device, transaction management program, and transaction management method| KR102335058B1|2019-11-19|2021-12-06|한양대학교 산학협력단|Method for linearizng concurrent transactions having interdependencies, blockcahin node device and program using the same| KR102342788B1|2019-11-19|2021-12-24|한양대학교 산학협력단|Method for supporting parallel execution of transaction, blockcahin node device and program using the same| CN111339108A|2020-02-18|2020-06-26|杭州复杂美科技有限公司|Transaction parallel execution method, device and storage medium| CN112884586B|2021-04-28|2021-08-03|支付宝信息技术有限公司|Transaction execution method and block link point| CN113537991B|2021-09-16|2022-03-01|中国信息通信研究院|Cross-chain transaction ordered execution method and cross-chain system|
法律状态:
2021-04-06| B25A| Requested transfer of rights approved|Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY) | 2021-04-27| B25A| Requested transfer of rights approved|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) | 2021-10-13| B350| Update of information on the portal [chapter 15.35 patent gazette]|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 PCT/CN2018/124814|WO2019072303A2|2018-12-28|2018-12-28|Parallel execution of transactions in a blockchain network| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|